-- *****************************************************************
-- Foundry Commited Access Rate MIB file.
-- *****************************************************************
FOUNDRY-VLAN-CAR-MIB DEFINITIONS ::= BEGIN

IMPORTS
        OBJECT-TYPE,
        Gauge
                FROM RFC1155-SMI

        Counter64
                FROM SNMPv2-SMI

        PacketSource, RateLimitType, RateLimitAction
                FROM FOUNDRY-CAR-MIB  

        snVLanCAR
                FROM FOUNDRY-SN-SWITCH-GROUP-MIB;
        


snVLanCARs      OBJECT IDENTIFIER ::= { snVLanCAR 1 }



snVLanCARTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnVLanCAREntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
        "A table of rate limit configuration entries for a vlan.
        Rate Limit is a method of traffic control.  It allows a set
        of rate limits to be configured and applied to packets flowing
        into/out of an interface to regulate network traffic."

        ::= { snVLanCARs 1 }


snVLanCAREntry OBJECT-TYPE
        SYNTAX SnVLanCAREntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A collection of rate-limit configuration objects on this 
                vlan."
        INDEX { snVLanCARVLanId, snVLanCARDirection, snVLanCARRowIndex }
        ::= { snVLanCARTable 1 }

SnVLanCAREntry ::=
        SEQUENCE {
                snVLanCARDirection
                        PacketSource,
                snVLanCARVLanId
                        INTEGER,
                snVLanCARRowIndex
                        INTEGER,
                snVLanCARType
                        RateLimitType,
                snVLanCARAccIdx
                        INTEGER,
                snVLanCARRate
                        INTEGER,
                snVLanCARLimit
                        INTEGER,
                snVLanCARExtLimit
                        INTEGER,
                snVLanCARConformAction
                        RateLimitAction,
                snVLanCARExceedAction
                        RateLimitAction,
                snVLanCARStatSwitchedPkts
                        Counter64,
                snVLanCARStatSwitchedBytes
                        Counter64,
                snVLanCARStatFilteredPkts
                        Counter64,
                snVLanCARStatFilteredBytes
                        Counter64,
                snVLanCARStatCurBurst
                        Gauge
        }

--need to refer to the vlan table
--index once it is changed to single
--vlan id as the row index

snVLanCARVLanId OBJECT-TYPE
        SYNTAX  INTEGER (1..4095)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The VLAN ID as one of the indices of this table .
                 Each VLAN ID can have a membership of multiple 
                 ports."
        ::= { snVLanCAREntry 1 }

snVLanCARDirection OBJECT-TYPE
        SYNTAX  PacketSource
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The input or output transmission direction for the 
                Rate Limit object."
        ::= { snVLanCAREntry 2 }

snVLanCARRowIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..2147483647)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The table index for rate limit objects.
                It increases as the rate limit entries are added.
                Skips the number when a row is deleted."

        ::= { snVLanCAREntry 3 }

snVLanCARType OBJECT-TYPE
        SYNTAX  RateLimitType
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The type of traffic rate-limited against."

        ::= { snVLanCAREntry 4 }

snVLanCARAccIdx OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to the access list if RateLimitType is either
                quickAcc or standardAcc."

        ::= { snVLanCAREntry 5 }

snVLanCARRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The comitted access rate. This determines the long term
                average transmission rate. Traffic that falls under this
                rate always conforms. This is average rate in bits per 
                second."

        ::= { snVLanCAREntry 6 }

snVLanCARLimit OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This is the normal burst size that determines how large traffic
                bursts can be before some traffic exceeds the rate limit. This
                specifies the number of bytes that are guaranteed to be transported
                by the network at the average rate under normal conditions during
                committed time interval. This normal burst size is in bytes."

        ::= { snVLanCAREntry 7 }

snVLanCARExtLimit OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This is the extended burst limit that determines how large traffic
                bursts can be before all the traffic exceeds the rate limit. This
                burst size is in bytes. "

        ::= { snVLanCAREntry 8 }

snVLanCARConformAction OBJECT-TYPE
        SYNTAX  RateLimitAction
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Action to be taken when the traffic is within
                the Rate Limit.
                drop            drop the packet.
                xmit            transmit the packet.
                continue        continue to evaluate to the subsequent
                                        rate limits.
                precedXmit      rewrite the IP precedence and transmit
                                        the packet.
                precedCont      rewrite the IP precedence and allow it
                                        evaluated by subsequent rate limits."

        ::= { snVLanCAREntry 9 }

snVLanCARExceedAction OBJECT-TYPE
        SYNTAX  RateLimitAction
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Action to be taken when the traffic exceeds
                the Rate Limit.
                drop            drop the packet.
                xmit            transmit the packet.
                continue        continue to evaluate to the subsequent
                                        rate limits.
                precedXmit      rewrite the IP precedence and transmit
                                        the packet.
                precedCont      rewrite the IP precedence and allow it
                                        evaluated by subsequent rate limits."

        ::= { snVLanCAREntry 10 }

snVLanCARStatSwitchedPkts OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The counter of packets permitted by this rate limit."

        ::= { snVLanCAREntry 11 }

snVLanCARStatSwitchedBytes OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The counter of bytes permitted by this interface."

        ::= { snVLanCAREntry 12 }

snVLanCARStatFilteredPkts OBJECT-TYPE
        SYNTAX  Counter64
        --UNITS "packets"
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The counter of packets which exceeded this rate limit."

        ::= { snVLanCAREntry 13 }

snVLanCARStatFilteredBytes OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The counter of bytes which exceeded this rate limit."

        ::= { snVLanCAREntry 14 }

snVLanCARStatCurBurst OBJECT-TYPE
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current received burst size."
        ::= { snVLanCAREntry 15 }

-- end of snVLanCARTable


END